Data communication between a host computer, such as an IBM-compatible desktop or laptop computer, and a peripheral device, such as, for example, a laser printer or a video display, is a process largely defined and limited by the hardware and control processes of both the host computer and the peripheral device. Many standards and nominal standards have been set in these areas. For example, the process of driving a laser printer from an IBM-compatible host via a Centronics.TM. twenty-five conductor cable and twenty-five pin connectors having 8-bit parallel data transfer is very well known, and provides a convenient illustration for the state of the art in such communications, as well as of the problems and limitations in the art.
The Winn L. Rosch Hardware Bible, Copyright 1992 by Winn L. Rosch and published by Brady Publishing of New York, N.Y. competently describes the IBM/Centronics parallel printer port protocol as the subject of Chapter 15, incorporated herein by reference.
There are, of course, many other data transfer devices and protocols used for data transfer between a host and a peripheral device. Among them are the industry-standard RS-232 serial link; a Universal Serial Bus.TM.; an industry-standard Centronics.TM.-compatible parallel port; a proprietary parallel port; an enhanced parallel port; a Small Computer Serial Interface (SCSI) bus; infra-red communication; a local area network (LAN) protocol such as Ethernet.TM.; a wide-area network; telephone modem connection; and an Integrated Services Digital Network (ISDN) link.
Each of the data transfer schemes briefly mentioned above has certain advantages and disadvantages related to various purposes. A Centronics-type parallel port, for example is limited in the distance over which it may be used, partly because of voltage cross-talk between parallel conductors in the link. For longer distances, serial systems are more useful, though slower; and for very long distances, telephone modem links and wireless systems such as microwave systems have certain advantages.
The details of all of these data communication systems are well-known in the art and exhaustively detailed in many reference works in the possession of the inventor at the time of this invention, and also freely available to others. These include the Winn L. Rosch Hardware Bible mentioned above is one such comprehensive reference. Another, for example, is Microprocessor-Based design by Michael Slater, Copyright 1989 by Prentice-Hall of Englewood, N.J. Another source of comprehensive information for the various available and widely-used data transfer systems is data sheets provided by various manufacturers for products marketed to provide functions of the type described above.
It is well known in the art that computers continue to be developed and marketed that are faster and more powerful than their predecessors. Where operation at a frequency of 16 megahertz was relatively quick just two years before the present invention, computers operating at 66 megahertz and faster are very common now; and even faster computers are entering the marketplace.
It is also well known in the art that peripheral devices, such as printers and video displays, among many other types, continue to be developed with innovations and enhancements that demand progressively greater amounts of memory. For example, the direction of improvement in both video displays and printers is to higher resolution. A higher dot density produces a better and clearer picture. And higher resolution means more dots (pixels) to be printed or displayed. Progressively more data is required for higher quality and bigger pictures.
While more data has to be to be transferred, the time available for the transfer does not necessarily change. For example, in video display, the picture has to be formed in real time. If a new display frame requires ten times the data that an older display technology requires for a frame, then the data must be transferred at ten times the rate for the new display as was needed for the older technology.
Unfortunately, while a peripheral may be improved, and a host may be capable of faster operation, in most cases the hardware and the process of data transfer from the host to the peripheral has not been significantly improved. As a result, ever-increasing amounts of storage may be needed at either or both ends of the data transfer, and the data link between the two, including the memory system and the CPU of the host, may well be bandwidth limited.
What is clearly needed is a significantly improved apparatus and method for transferring data, including control commands, between a host computer its peripheral devices. Such apparatus and methods need to be capable of reducing memory and bandwidth requirements while providing for operation of data-hungry peripherals in real time, at the same time not significantly increasing complexity and cost.